STM Systems: Enforcing Strong Isolation between Transactions and Non-transactional Code
نویسندگان
چکیده
Transactional memory (TM) systems implement the concept of an atomic execution unit called transaction in order to discharge programmers from explicit synchronization management. But when shared data is atomically accessed by both transaction and non-transactional code, a TM system must provide strong isolation in order to overcome consistency problems. Strong isolation enforces ordering between non-transactional operations and transactions and preserves the atomicity of a transaction even with respect to non-transactional code. This paper presents a TM algorithm that implements strong isolation with the following features: (a) concurrency control of non-transactional operations is not based on locks and is particularly efficient, and (b) any non-transactional read or write operation always terminates (there is no notion of commit/abort associated with them). Key-words: Transactional Memory, Strong Isolation, Atomicity ∗ IRISA, Université de Rennes 35042 Rennes Cedex, France † Institut Universitaire de France ha l-0 06 99 90 3, v er si on 1 21 M ay 2 01 2 Mémoire Transactionnelle: Imposer l’isolement forte entre transactions et opérations non-transactionnelle Résumé : Ce rapport présente un algorithme de mémoire transactionnelle qui impose l’isolement forte entre transactions et opérations non-transactionnelle. Mots-clés : mémoire transactionnelle, atomicité ha l-0 06 99 90 3, v er si on 1 21 M ay 2 01 2 STM systems: Enforcing strong isolation between transactions and non-transactional code 3
منابع مشابه
Composability for Application-Specific Transactional Optimizations
Software Transactional Memory (STM) has made great advances towards acceptance into mainstream programming by promising a programming model that greatly reduces the complexity of writing concurrent programs. Unfortunately, the mechanisms in current STM implementations that enforce the fundamental properties of transactions — atomicity, consistency, and isolation — also introduce considerable pe...
متن کاملConsistency, isolation, and irrevocability in software transactional memory
Software transactional memory (STM) is a promising paradigm for the development of concurrent software. It coordinates the potentially conflicting effects of concurrent threads on shared memory by running their critical regions isolated from each other in transactions in an “all-or-nothing” manner. When encountering a conflicting access to shared memory, a conflict resolution strategy decides w...
متن کاملSnapshot Isolation Anomalies Detection in Software Transactional Memory
Some performance issues of transactional memory are caused by unnecessary abort situations where non serializable and yet non conflicting transactions are scheduled to execute concurrently. Smartly relaxing the isolation properties of transactions may overcome these issues and attain considerable performance improvements. However, it is known that relaxing isolation restrictions may lead to run...
متن کاملPerformance Comparison of Software Transactional Memory Implementations
KARIATH, RIYA RAJU. Performance Comparison of Software Transactional Memory Implementations. (Under the direction of Dr. Edward F Gehringer.) Software Transactional Memory (STM), an optimistic concurrency control mechanism for controlling accesses to shared memory, is a promising alternative to lockbased mutual exclusion strategies. A transaction in this context is each piece of code that execu...
متن کاملProving Isolation Properties for Software Transactional Memory
An algorithm for Software Transactional Memory (STM) is correct if it guarantees a proclaimed degree of isolation between concurrently executing transactions. A correctness proof requires explicit modeling of the effects of transaction bodies and the non-deterministic scheduling of their operations. We provide a formalization of an STM algorithm that is explicit about all aspects required for a...
متن کامل